//
// Created by zuo on 2024/7/4.
// 题目链接  https://www.lanqiao.cn/problems/760/learning/?page=1&first_category_id=1&problem_id=760
//

#include<bits/stdc++.h>
using namespace std;

const int N = 1001;
int a[N];

int dfs(int dep) // dep 表示当前的深度
{
    int res = 1; // 最少一个数 本身
    for (int i = 1; i <= a[dep - 1] / 2; i++)
    {
        a[dep] = i;
        res += dfs(dep + 1);
    }
    return res;
}

int main()
{
    int n;
    cin >> n;
    a[1] = n; // 最少有一个数
    cout << dfs(2) << '\n';
    return 0;
}
